This invention relates to methods and systems for managing the transmission of a media stream in changeable network conditions.
Real-time streaming of media content over the internet has become an increasingly common application in recent years. A wide range of media applications, such as Voice over Internet Protocol (VoIP), on-demand TV, live TV viewing, video conferencing, net meetings, video telephony and many others rely on end-to-end streaming solutions. Unlike a “downloaded” media file, which may be retrieved first and played back later, streaming media applications require a media source to encode and to transmit media over a network to a receiver, which must decode and play the media in real time.
Problems can arise when a media stream is transmitted across a network due to the changing network conditions typically experienced by the stream. For example, a drop in the bandwidth available to a media stream due to network congestion or due to the limited throughput capacity of 2G/3G networks can adversely affect the timely transmission of the packets of the stream and lead to packet loss or late delivery of data packets of the stream. For a media stream between VoIP end points, such issues can affect the quality and reliability of VoIP calls. On the other hand, whenever bandwidth availability is high, highest voice quality can be provided to the end user for best end user experience.
There is a need for a method of managing and adapting the transmission of media over networks having changeable properties so as to optimise, or improve, the quality of a media stream received at a receiving device.